package org.socialresume.client.mvp.gin;

import org.socialresume.client.mvp.presenter.BodyPresenter;
import org.socialresume.client.mvp.presenter.BodyPresenterImpl;
import org.socialresume.client.mvp.presenter.FeedPresenter;
import org.socialresume.client.mvp.presenter.FeedPresenterImpl;
import org.socialresume.client.mvp.presenter.FooterPresenter;
import org.socialresume.client.mvp.presenter.FooterPresenterImpl;
import org.socialresume.client.mvp.presenter.HeaderPresenter;
import org.socialresume.client.mvp.presenter.HeaderPresenterImpl;
import org.socialresume.client.mvp.presenter.MainPresenter;
import org.socialresume.client.mvp.presenter.MainPresenterImpl;
import org.socialresume.client.mvp.presenter.MenuPresenter;
import org.socialresume.client.mvp.presenter.MenuPresenterImpl;
import org.socialresume.client.mvp.view.BodyUI;
import org.socialresume.client.mvp.view.FeedUI;
import org.socialresume.client.mvp.view.FooterDisplayImpl;
import org.socialresume.client.mvp.view.HeaderDisplayImpl;
import org.socialresume.client.mvp.view.MainUI;
import org.socialresume.client.mvp.view.MenuDisplayImpl;

import com.google.gwt.inject.client.AbstractGinModule;

public class Module extends AbstractGinModule {

	@Override
	protected void configure() {
		install(new org.enunes.gwt.mvp.client.gin.Module());
		
		bind(HeaderPresenter.class).to(HeaderPresenterImpl.class);
		bind(HeaderPresenter.Display.class).to(HeaderDisplayImpl.class);

		bind(FooterPresenter.class).to(FooterPresenterImpl.class);
		bind(FooterPresenter.Display.class).to(FooterDisplayImpl.class);

		bind(MainPresenter.class).to(MainPresenterImpl.class);
		bind(MainPresenter.Display.class).to(MainUI.class);

		bind(BodyPresenter.class).to(BodyPresenterImpl.class);
		bind(BodyPresenter.Display.class).to(BodyUI.class);

		bind(MenuPresenter.class).to(MenuPresenterImpl.class);
		bind(MenuPresenter.Display.class).to(MenuDisplayImpl.class);

		bind(FeedPresenter.class).to(FeedPresenterImpl.class);
		bind(FeedPresenter.Display.class).to(FeedUI.class);
	}

}
